const { createProxyMiddleware } = require('http-proxy-middleware');
const bodyParser = require('body-parser')
const multipart = require('connect-multiparty');
const multipartMiddleware = multipart();

const OSS = require('ali-oss')
const path = require("path")

const client = new OSS({
  // yourregion填写Bucket所在地域。以华东1（杭州）为例，Region填写为oss-cn-hangzhou。
  region: 'oss-cn-shanghai',
  // 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
  accessKeyId: 'LTAI5t8bDur6gYtCJvgFfVKb',
  accessKeySecret: 'sAPa8PyL7VK8ltJedAbSJBtJOH5EIF',
  // 填写Bucket名称。
  bucket: '2007a-1',
});


module.exports = app => {
  app.use(bodyParser.json())
  // 处理表单
  app.use(bodyParser.urlencoded({ extended: false }))
  // 代理
  app.use(
    '/api',
    createProxyMiddleware({

      //    http://localhost:7001/upload/image
      target: 'http://localhost:7001',
      changeOrigin: true,
      pathRewrite: { '^/api': '' }
    })
  );


  app.post('/upload/oss', multipartMiddleware, async (req, res) => {
    console.log(req.body, req.files);
    // 文件路径
    req.files.chunk.path
    // 文件名称
    req.files.chunk.name

    // 上传到oss
    const result = await client.put(req.files.chunk.name, path.normalize(req.files.chunk.path));

    res.send({
      code: 200,
      message: '上传成功',
      data: result
    })
  })
}